package poo.exo3;

public class Employe {
	
	private String nom;
	private double salaireHoraire;
	private int nbHeures;
	
	private static final int nbHeureSup = 40;
	private static final int nbHeureMax = 60;
	private static final int salaireMin = 13;
	private static final double coef = 1.5;

	public Employe(String nom, double salaireHoraire, int nbHeures) throws Exception{
		super();
		this.nom = nom;
		this.salaireHoraire = salaireHoraire;
		this.nbHeures = nbHeures;
		if(salaireHoraire<salaireMin){
			throw new Exception("Il y a une erreur de salaire.\n");
		}
		if(nbHeures>nbHeureMax){
			throw new Exception("Il y a une erreur de nombre d'heures.\n"); 
		}
	}

	public String getNom() {
		return nom;
	}

	public void setNom(String nom) {
		this.nom = nom;
	}
	
	public double getSalairehoraire() {
		return salaireHoraire;
	}

	public void setSalairehoraire(double salairehoraire) {
		this.salaireHoraire = salairehoraire;
	}

	public int getNbHeures() {
		return nbHeures;
	}

	public void setNbHeures(int nbHeures) {
		this.nbHeures = nbHeures;
	}
	
	public double calculSalaire(){
	    if (this.salaireHoraire<salaireMin || this.nbHeures>nbHeureMax){
	        System.out.println("Le nombre d'heures ou le salaire de bases ne respecte(nt) pas la r�gle de gestion");
	        return 0;
	    }
	    else 
	        if(this.nbHeures<= nbHeureSup){
	            return this.salaireHoraire*this.nbHeures;
	        }
	        else 
	            return (nbHeureSup*this.salaireHoraire) + (this.nbHeures-nbHeureSup)*this.salaireHoraire*coef;       
	} 
	
	@Override
	public String toString() {
		return "Employe \n" +
				nom + " salaire horaire : " + salaireHoraire + "; heures travaillées : " + nbHeures;
	}
	
}
